package com.ssy.lingxi.settle.accounts.model.vo.request;

import com.ssy.lingxi.common.model.vo.PageVO;
import com.ssy.lingxi.settle.accounts.handler.annotation.ApplyAmountStatusAnnotation;
import com.ssy.lingxi.settle.accounts.handler.annotation.DateStringFormatAnnotation;

import java.io.Serializable;

public class ApplyAmountQueryVO extends PageVO implements Serializable {

    private static final long serialVersionUID = -8243960822038L;

    /**
     * 合同id
     */
    private Long contractId;
    /**
     * 请款单号
     */
    private String applyNo;

    /**
     * 对账单摘要
     */
    private String applyAbstract;

    /**
     * 收款方
     */
    private String payee;

    /**
     * 请款单状态，定义在ApplyAmountStatusEnum中,1-待提交 2-已提交，3-已付款
     */
    @ApplyAmountStatusAnnotation
    private Integer status;

    /**
     * 单据时间开始，格式为yyyy-MM-dd
     */
    @DateStringFormatAnnotation
    private String createTimeStart;

    /**
     * 单据时间结束，格式为yyyy-MM-dd
     */
    @DateStringFormatAnnotation
    private String createTimeEnd;

    /**
     * 预计付款日期开始，格式为yyyy-MM-dd
     */
    @DateStringFormatAnnotation
    private String expectPayTimeStart;

    /**
     * 预计付款日期结束，格式为yyyy-MM-dd
     */
    @DateStringFormatAnnotation
    private String expectPayTimeEnd;

    /**
     * 是否是物料对账单
     * 来源： CommonBooleanEnum
     */
    private Integer hasReconciliationBillFlag;

    public Long getContractId() {
        return contractId;
    }

    public void setContractId(Long contractId) {
        this.contractId = contractId;
    }

    public String getApplyNo() {
        return applyNo;
    }

    public void setApplyNo(String applyNo) {
        this.applyNo = applyNo;
    }

    public String getApplyAbstract() {
        return applyAbstract;
    }

    public void setApplyAbstract(String applyAbstract) {
        this.applyAbstract = applyAbstract;
    }

    public String getPayee() {
        return payee;
    }

    public void setPayee(String payee) {
        this.payee = payee;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getCreateTimeStart() {
        return createTimeStart;
    }

    public void setCreateTimeStart(String createTimeStart) {
        this.createTimeStart = createTimeStart;
    }

    public String getCreateTimeEnd() {
        return createTimeEnd;
    }

    public void setCreateTimeEnd(String createTimeEnd) {
        this.createTimeEnd = createTimeEnd;
    }

    public String getExpectPayTimeStart() {
        return expectPayTimeStart;
    }

    public void setExpectPayTimeStart(String expectPayTimeStart) {
        this.expectPayTimeStart = expectPayTimeStart;
    }

    public String getExpectPayTimeEnd() {
        return expectPayTimeEnd;
    }

    public void setExpectPayTimeEnd(String expectPayTimeEnd) {
        this.expectPayTimeEnd = expectPayTimeEnd;
    }

    public Integer getHasReconciliationBillFlag() {
        return hasReconciliationBillFlag;
    }

    public void setHasReconciliationBillFlag(Integer hasReconciliationBillFlag) {
        this.hasReconciliationBillFlag = hasReconciliationBillFlag;
    }
}
